Infusing Parallelism into Introductory Computer Science Curriculum using MapReduce

نویسندگان

  • Matthew Johnson
  • Robert H. Liao
  • Alexander Rasmussen
  • Ramesh Sridharan
  • Dan Garcia
  • Brian K. Harvey
  • Daniel D. Garcia
  • Brian Harvey
چکیده

We have incorporated cluster computing fundamentals into the introductory computer science curriculum at UC Berkeley. For the first course, we have developed coursework and programming problems in Scheme centered around Google’s MapReduce. To allow students only familiar with Scheme to write and run MapReduce programs, we designed a functional interface in Scheme and implemented software to allow tasks to be run in parallel on a cluster. The streamlined interface enables students to focus on programming to the essence of the MapReduce model and avoid the potentially cumbersome details in the MapReduce implementation, and so it delivers a clear pedagogical advantage. The interface’s simplicity and purely functional treatment allows students to tackle data-parallel problems after the first two-thirds of the first introductory course. In this paper we describe the system implementation to interface our Scheme interpreter with a cluster running Hadoop (a Java-based MapReduce implementation). Our design can serve as a prototype for other such interfaces in educational environments that do not use Java and therefore cannot simply use Hadoop. We also outline the MapReduce exercises we have introduced to our introductory course, which allow students in an introductory programming class to begin to work with data-parallel programs and designs.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Finding Reasons and Conclusion in a Basic Computer Science Course

This paper discusses infusing the critical thinking skill of finding reasons and conclusions in a basic computer science course, ICS 201: Introduction to CS, which is the second course in the series of three introductory courses in our curriculum [8]. Software engineers usually use certain design in a program or algorithm without fully considering the effects of that decision. The critical thin...

متن کامل

Using Games to Teach Parallelism to Computer Science 2 nd year College Students

Parallel programming concepts are often introduced in upper-level undergraduate curriculum as a part of OS or other advanced programming courses. With the wide availability and prevalence of multi-core processors, it is imperative that students learn good programming practices to effectively use the increasing number of cores in computing environments. Parallelism concepts must be introduced so...

متن کامل

Studying the Use of Peer Learning in the Introductory Computer Science Curriculum

This paper reports the results of studying the use of peer learning in the introductory computer science curriculum. The project involves educators from a variety of institutions who participated in two summer workshops and either introduced or continued their use of peer learning at their institutions as part of this project. The results of the collective work include much experience with diie...

متن کامل

Lecture 26 : Dataflow Programming with Intel Concurrent Collections

The Concurrent Collections (CnC) model was developed to address the need for making parallel programming accessible to domain experts or non-professional programmers. One approach that has historically addressed this problem is the creation of domain specific languages (DSLs), such as Matlab, R, SQL, and Google’s MapReduce framework that hide the details of parallelism when programming for a sp...

متن کامل

Combining Open-Source with Research to Re-engineer a Hands-on Introductory NLP Course

We describe our first attempts to re-engineer the curriculum of our introductory NLP course by using two important building blocks: (1) Access to an easy-to-learn programming language and framework to build hands-on programming assignments with real-world data and corpora and, (2) Incorporation of interesting ideas from recent NLP research publications into assignment and examination problems. ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2007